package com.ruoyi.app.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 校友会活动（无物理外键，通过业务逻辑维护关联）对象 app_activities
 * 
 * @author ruoyi
 * @date 2025-11-04
 */
public class AppActivities extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 活动唯一标识 */
    private Long activityId;

    /** 所属组织ID */
    @Excel(name = "所属组织ID")
    private Long organizationId;

    /** 组织类型 */
    @Excel(name = "组织类型")
    private String organizationType;

    /** 活动标题 */
    @Excel(name = "活动标题")
    private String title;

    /** 活动主图 */
    @Excel(name = "活动主图")
    private String mainImage;

    /** 轮播图 */
    @Excel(name = "轮播图")
    private String bannerImages;

    /** 活动状态 */
    @Excel(name = "活动状态")
    private String status;

    /** 固定活动类别 */
    @Excel(name = "固定活动类别")
    private String category;



    /** 活动详情 */
    @Excel(name = "活动详情")
    private String description;

    /** 活动开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "活动开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startTime;

    /** 活动结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "活动结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    /** 活动地点 */
    @Excel(name = "活动地点")
    private String location;

    /** 参与人数限制 */
    @Excel(name = "参与人数限制")
    private Long participantLimit;

    /** 报名开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "报名开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date signupStart;

    /** 报名结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "报名结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date signupEnd;

    /** 费用类型 */
    @Excel(name = "费用类型")
    private String feeType;

    /** 活动费用 */
    @Excel(name = "活动费用")
    private BigDecimal fee;

    /** 费用说明 */
    @Excel(name = "费用说明")
    private String feeDesc;

    /** 创建人ID */
    @Excel(name = "创建人ID")
    private Long createdBy;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdAt;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updatedAt;

    public void setActivityId(Long activityId) 
    {
        this.activityId = activityId;
    }

    public Long getActivityId() 
    {
        return activityId;
    }

    public void setOrganizationId(Long organizationId) 
    {
        this.organizationId = organizationId;
    }

    public Long getOrganizationId() 
    {
        return organizationId;
    }

    public void setOrganizationType(String organizationType) 
    {
        this.organizationType = organizationType;
    }

    public String getOrganizationType() 
    {
        return organizationType;
    }

    public void setTitle(String title) 
    {
        this.title = title;
    }

    public String getTitle() 
    {
        return title;
    }

    public void setMainImage(String mainImage) 
    {
        this.mainImage = mainImage;
    }

    public String getMainImage() 
    {
        return mainImage;
    }

    public void setBannerImages(String bannerImages) 
    {
        this.bannerImages = bannerImages;
    }

    public String getBannerImages() 
    {
        return bannerImages;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    public void setCategory(String category) 
    {
        this.category = category;
    }

    public String getCategory() 
    {
        return category;
    }



    public void setDescription(String description) 
    {
        this.description = description;
    }

    public String getDescription() 
    {
        return description;
    }

    public void setStartTime(Date startTime) 
    {
        this.startTime = startTime;
    }

    public Date getStartTime() 
    {
        return startTime;
    }

    public void setEndTime(Date endTime) 
    {
        this.endTime = endTime;
    }

    public Date getEndTime() 
    {
        return endTime;
    }

    public void setLocation(String location) 
    {
        this.location = location;
    }

    public String getLocation() 
    {
        return location;
    }

    public void setParticipantLimit(Long participantLimit) 
    {
        this.participantLimit = participantLimit;
    }

    public Long getParticipantLimit() 
    {
        return participantLimit;
    }

    public void setSignupStart(Date signupStart) 
    {
        this.signupStart = signupStart;
    }

    public Date getSignupStart() 
    {
        return signupStart;
    }

    public void setSignupEnd(Date signupEnd) 
    {
        this.signupEnd = signupEnd;
    }

    public Date getSignupEnd() 
    {
        return signupEnd;
    }

    public void setFeeType(String feeType) 
    {
        this.feeType = feeType;
    }

    public String getFeeType() 
    {
        return feeType;
    }

    public void setFee(BigDecimal fee) 
    {
        this.fee = fee;
    }

    public BigDecimal getFee() 
    {
        return fee;
    }

    public void setFeeDesc(String feeDesc) 
    {
        this.feeDesc = feeDesc;
    }

    public String getFeeDesc() 
    {
        return feeDesc;
    }

    public void setCreatedBy(Long createdBy) 
    {
        this.createdBy = createdBy;
    }

    public Long getCreatedBy() 
    {
        return createdBy;
    }

    public void setCreatedAt(Date createdAt) 
    {
        this.createdAt = createdAt;
    }

    public Date getCreatedAt() 
    {
        return createdAt;
    }

    public void setUpdatedAt(Date updatedAt) 
    {
        this.updatedAt = updatedAt;
    }

    public Date getUpdatedAt() 
    {
        return updatedAt;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("activityId", getActivityId())
            .append("organizationId", getOrganizationId())
            .append("organizationType", getOrganizationType())
            .append("title", getTitle())
            .append("mainImage", getMainImage())
            .append("bannerImages", getBannerImages())
            .append("status", getStatus())
            .append("category", getCategory())
            .append("description", getDescription())
            .append("startTime", getStartTime())
            .append("endTime", getEndTime())
            .append("location", getLocation())
            .append("participantLimit", getParticipantLimit())
            .append("signupStart", getSignupStart())
            .append("signupEnd", getSignupEnd())
            .append("feeType", getFeeType())
            .append("fee", getFee())
            .append("feeDesc", getFeeDesc())
            .append("createdBy", getCreatedBy())
            .append("createdAt", getCreatedAt())
            .append("updatedAt", getUpdatedAt())
            .toString();
    }
}
